/**
* Copyright (c) By zengqh.
*
* This program is just for fun or demo, in the hope that it  
* will be useful, you can redistribute it and/or modify freely.
*
* Time: 2012/07/11
* File: LightSceneNode.h
* Blog: http://www.cnblogs.com/zengqh/
**/

#ifndef LightSceneNode_h__
#define LightSceneNode_h__

#include "../Core/Core.h"
#include "../Core/Declare.h"
#include "SceneNode.h"
#include "../RenderSystem/LightData.h"

class LightSceneNode : public SceneNode
{
public:
	LightSceneNode(SceneNode* parent, 
		SceneManager* scene_mgr, 
		s32 id = -1,
		s32 type = 0,
		const glm::vec3& position = glm::vec3(0.0f, 0.0f, 0.0f));
	~LightSceneNode();

	virtual void setLightData(const LightData& light_data);
	virtual const LightData& getLightData() const;
	virtual LightData& getLightData();

	virtual void setLightType(LightType type);
	virtual LightType getLightType() const;

	void render();

protected:
	LightData			_light_data;
};
#endif    /* LightSceneNode_h__ */